/*
 * tab_char_curve.h
 *
 *  Created on: 16.06.2013
 *      Author: SpirTanol
 */

#ifndef TAB_CHAR_CURVE_H_
#define TAB_CHAR_CURVE_H_

#include "events/data_event_listener.h"
#include "global.h"

// QT
#include <QWidget>

class QPushButton;
class QLabel;
class QProgressBar;

class RunConfigPlot;

class MainWindow;

/** Отображает график с пусковой характеристикой. */
class TabCharCurve : public QWidget, public DataEventListener
{
	Q_OBJECT

	QPushButton *oBtnAutoSetup;
	QPushButton *oBtnUpdatePlot;

	QProgressBar *oProgressCompleteness;
	QProgressBar *oProgressAccum;

	QLabel *oLabelTime;
	RunConfigPlot *oPlot;

	MainWindow *oMainWindow;

public:
	TabCharCurve(MainWindow *mainWindow);
	~TabCharCurve();

	// DataEventListener
	void onDataEvent(const DataEvent *e); // [virtual]

	inline const RunConfigPlot *runConfigPlot() const { return oPlot; }

	void setScaleType(ScaleType scaleType);

private:

private slots:
	void onBtnUpdatePlotClicked();
	void onBtnAutoSetupClicked();
	void onBuildProtectionGraphFinished();

};

#endif /* TAB_CHAR_CURVE_H_ */
